The present invention generally relates to systems and methods for archiving files. More particularly, the present invention relates to systems and methods for providing an archive management application that operates with a host application to allow a user to access an archive and/or modify a file in an archive using the host application.
The archiving of computer files has been known in the art for many years. Archiving typically involves the practice of aggregating one or more computer files into a single file called an archive. Often, but not always, the single archived file is compressed so that the archive file is smaller in size than the original file or files placed in the archive. Many formats of archives are currently available. One popular archive format is the .ZIP format, a portable archive format for forming an archive including one or more files. The .ZIP format and other archive formats are recognized by various types of applications such as file management applications (such as Microsoft Windows Explorer), internet enabled applications (such as Microsoft Internet Explorer), email applications (Microsoft Outlook), and instant messaging applications (AOL Instant Messenger).
Many applications designed to increase user productivity, organize or manage information, provide for entertainment, or for other purposes are available today. These applications are generically called “productivity applications.” Several productivity applications currently recognize the .ZIP format and other archive formats and it is also desirable that future productivity applications have the capacity to recognize files in the .ZIP format. Such productivity applications may include programs allowing a user to perform word processing and document publishing (such as Microsoft Word), database management (such as Microsoft Access), presentation and project management (such as Microsoft PowerPoint) and/or spreadsheet creation application (such as Microsoft Excel).
Applications that recognize .ZIP archives and other archive formats may run, perform, operate, and/or be stored on various types of devices. In one example, the device may be a laptop or desktop computer. Another example of such a device is a Personal Digital Assistant (PDA), such as a PalmPilot or RIM Blackberry, for example. Another example of such a device is a wireless communication device such as a cell phone. Another example of such a device is a portable device such as a portable music device, such as an ipod®. Another example of such a device is a gaming device. Another example of such a device is an electronic game device. Another example of such a device is a portable storage device, such as a USB drive. Another example of such a device is a cable or satellite television system device, such as a cable or satellite television receiver. Another example of such a device is a digital image capture device such as a digital camera.
Archive size may be a concern when using devices that support applications that recognize .ZIP archives and other archive formats. Devices with limited storage space and networks with limited bandwidth make it desirable for archives to be smaller and thus more efficient to store and transfer. Thus, many archive formats, such as the .ZIP format, include compression functions to reduce the size of files in an archive. However, improved methods and systems for providing compression are needed as digital storage and transmission requirements increase.
Devices that support applications that recognize .ZIP archives and other archive formats may be used to store archives and/or transfer archives to another device. However, files in archives may contain sensitive information. Thus, many archive formats, such as the .ZIP format, include optional security operations to protect files. An example of such a security operation is encryption. Another example of such a security function is verification of file origin and identity using digital signatures.
Standard encryption and digital signing are known in the art, however, improved methods and systems for providing security are desirable in the continuing effort to prevent unauthorized access to data.
Although many applications recognize archives, such applications are not currently able to access an archive or modify files in an archive. Instead, when an archive is selected, a standalone archive management application is initiated or launched. Once the archive management application has been initiated, the user is operating inside the standalone archive management application. In many cases the standalone archive management application must be separately launched by the user, thereby increasing the number of steps that must be performed by the user in order to access the files contained within the archive. The standalone archive management application must typically also be launched to encrypt/decrypt files, to digitally sign/authenticate files and/or to compress/decompress files, for example. Launching the standalone archive management application may delay access to an archive, create an undesirable user experience, and impede the productivity of the user or system, and in some cases involving security functions, make files more vulnerable to security breaches.
Some products have been developed that are aimed at providing a user with improved ease of interaction with files. Several such products are used in the Windows operating system environment. For example, in the Windows environment, Windows Explorer may be used to browse directories, files and folders. In connection with Windows Explorer, Microsoft provides an application program interface (API) that allows software developers to write applications that operate with Windows Explorer.
Several companies have developed programs for compressing and uncompressing files using the Windows Explorer interface. However, none of these products are able to access the contents of an archive directly or to modify files in an archive directly. Some of these products include: ArjFolder by Raphael Mounier; Cab Viewer by Microsoft Corporation; CleverZip by Cleverness, Inc.; Zip Explorer Pro by Aeco Systems; Internet Neighborhood by KnoWare, Inc.; Net Explore; ZipMagic by Mijenix Corporation (recently acquired by Allume); and Netzip Classic by Netzip, Inc. (now owned by RealNetworks). The Internet Neighborhood and Net Explore products are file transfer protocol (FTP) products that integrate FTP sites into Windows Explorer. ZipMagic is a device driver product and NetZIP Classic is a standalone program that runs outside of the Windows Explorer application.
However, the above-identified programs do not fully serve the needs of today's users. For example, utilization of the above-identified programs may negatively impact system performance and/or the user interfaces employed by the programs may be counterintuitive and/or confusing to users. Further, the prior art programs do not provide a user with the ease of being able to directly access the contents of an archive or interact with files inside an archive while remaining inside their Windows application environment.
FIG. 12 illustrates examples of the interaction of several prior art file archiving programs with the Windows Explorer 1210. One example of such a program is the WinZIP program, as described in the “WinZIP” Announcement, Nico Mak Computing, Inc., 1995, pp. 1-106.
As shown in FIG. 12, the WinZIP program includes a WinZIP application 1220. The WinZIP application 1220 is a data compression application for creating, viewing, or modifying .ZIP archives. The WinZIP application 1220 allows a user to start the WinZIP application 1220 from within the Windows Explorer 1210. Starting the WinZIP application 1220 from within the Windows Explorer 1210 may cause it to appear to the user as though the WinZIP application 1220 is operating within the Windows Explorer 1210. However, as further described below, the user does indeed leave the Windows Explorer 1210. Starting the WinZIP application 1220 from within the Windows Explorer 1210 saves the user the steps of leaving the Windows Explorer 1210 to start the WinZIP application 1220 from another Windows prompt or menu, but the WinZIP application 1220 does not run within the Windows Explorer 1210.
In operation, when a user selects a file for decompression, the WinZIP application 1220 starts and runs as an additional application external to the Windows Explorer 1210. The selected file is passed from the memory address space of the Windows Explorer 1210 to the memory address space of the WinZIP application 1220. Within the memory address space of the WinZIP application 1220, the selected file is available to the user using the WinZIP window, toolbar, and menu functions. The WinZIP window, menu, and toolbar functions are separate from the window, toolbar and menu functions of the Windows Explorer 1210. That is, the WinZIP application 1220 does not operate within the Windows Explorer 1210.
The user may interact with the WinZIP application 1220 to create, view, or modify .ZIP archives or files within .ZIP archives. Files created or modified using the WinZIP application 1220 are saved by the WinZIP application 1220 to the file storage system of the underlying Windows operating system, but the WinZIP application 1220 does not pass files to the memory address space of the Windows Explorer 1210. Once the user is finished interacting with the WinZIP application 1220 to create, view, or modify .ZIP archives, the WinZIP application 1220 terminates.
Another example of a prior art file archiving program is the ZIPMagic program. As shown in FIG. 12, the ZIPMagic program includes a ZIPMagic application 1230 and a ZIPMagic device driver 1240. The ZIPMagic device driver 1240 is described in Kronenberg et al. (U.S. Pat. No. 5,907,703). The ZIPMagic application 1430 operates like the WinZIP application 1320, as described above.
The ZIPMagic device driver 1240 operates at a lower operating level than the application level of the ZIPMagic application 1230 and the Windows Explorer 1210. The ZIPMagic device driver 1240 communicates with the Windows Explorer 1210. More particularly, the ZIPMagic device driver 1240 makes .ZIP archives appear as folders in the Windows Explorer 1210. That is, to a user, .ZIP archives are indistinguishable from standard Windows Explorer folders and no indication is provided to the user that what appears to be a folder is actually a .ZIP archive.
In operation, when a user double clicks on a .ZIP archive that the ZIPMagic device driver 1240 has disguised to look like a folder in Windows Explorer 1210, the ZIPMagic device driver 1240 first operates to recognize that the folder is really a .ZIP archive. Next, the ZIPMagic device driver 1240 transparently presents the files within the .ZIP archive to the Windows Explorer 1210 as though they are not compressed and that they are contained in a standard Windows Explorer folder. When a user selects a file visible from the Windows Explorer 1210 to interact with, the ZIPMagic device driver 1240 transparently decompresses the file outside of the Windows Explorer 1210 and passes a decompressed copy of the file to the Windows Explorer 1210 for the user to use. A user may then interact with the decompressed copy of the file in any manner in which a decompressed file that is not within a .ZIP archive may be used. For example, the user may copy or move the file using the Windows Explorer 1210 and the user may open the file with another application to view or modify the files contents. The user may not interact with the file as though it is part of a .ZIP archive. Once the user is finished interacting with the uncompressed file it may be compressed outside of the Windows Explorer 1210 by the ZIPMagic device driver 1240.
Thus, the ZIPMagic program serves as a useful tool for automating the typical steps of adding files to folders and then .ZIP-ing the folder. However, the ZIPMagic program does not allow direct interaction with a .ZIP archive within the Windows Explorer 1210.
Thus, all of the prior art file archiving programs operate externally from Windows Explorer. The WinZip and ZipMagic applications are external to Windows Explorer and communicate with Windows Explorer at the application level. The Zip Magic Device Driver is also external to Windows Explorer, but communicated with Windows Explorer at the driver level. Consequently, all of the above file archiving programs operate by leaving the Windows Explorer environment.
Thus, there is a need for an improved system and method for accessing archives and modifying files in archives to overcome the problems and shortcomings of the current state of the art. A need is especially felt for a system that provides a user with access to the contents of an archive file, and the ability to interact with the contents of an archive file, without leaving the windows environment.